5 added 3 characters in body

This is to expand on Akhil's answer. Locally free implies flat easily, so let's look at the other direction. It suffices to assume $A$ is local with maximal ideal $\mathfrak{m}$.

Pick a basis of $M/\mathfrak{m}M$; by Nakayama, this lifts to a surjective map $A^n\to M$. We want to show this map is injective. If $M$ is finitely presented (or if $A$ is Noetherian) then the kernel is finitely generated. But tensoring with $A/\mathfrak{m}A$ kills the kernel, so by Nakayama again the map is injective.

The finite generation of the kernel is the key point.

UPDATE: Exercise 6, part 3, in this pdf gives a finitely generated, not finitely presented module which is flat but not projective. By BCnrd's comment on Akhil's answer it is, however, locally stalk-wise free.

4 added 9 characters in body

This is to expand on Akhil's answer. Locally free implies flat easily, so let's look at the other direction. It suffices to assume $A$ is local with maximal ideal $\mathfrak{m}$.

Pick a basis of $M/\mathfrak{m}M$; by Nakayama, this lifts to a surjective map $A^n\to M$. We want to show this map is injective. If $M$ is finitely presented (or if $A$ is Noetherian) then the kernel is finitely generated. But tensoring with $A/\mathfrak{m}A$ kills the kernel, so by Nakayama again the map is injective.

The finite generation of the kernel is the key point.

UPDATE: Exercise 6, part 3, in this pdf gives a finitely generated, not finitely presented module which is flat but not projective. By BCnrd's comment on Akhil's answer it is, however, locally free.

3 added 68 characters in body

This is to expand on Akhil's answer. Locally free implies flat easily, so let's look at the other direction. It suffices to assume $A$ is local with maximal ideal $\mathfrak{m}$.

Pick a basis of $M/\mathfrak{m}M$; by Nakayama, this lifts to a surjective map $A^n\to M$. We want to show this map is injective. If $M$ is finitely presented (or if $A$ is Noetherian) then the kernel is finitely generated. But tensoring with $A/\mathfrak{m}A$ kills the kernel, so by Nakayama again the map is injective.

The finite generation of the kernel is the key point.

UPDATE: Exercise 6 in this pdf gives a finitely generated, not finitely presented module which is flat but not projective. By BCnrd's comment on Akhil's answer it is, however, locally free.