About Jon Woolf's answer: I don't see where the condition that the neighborhood of x is CONNECTED was used. On the other hand, I think the condition that "x is a closed point" WAS implicitly used: the extension by zero Z_A is only defined for a locally closed subset A (see e.g. Tennison "Sheaf theory" 3.8.6). So X-x must be locally closed.
How about the following little modification of Jon's argument: instead of $Z_X$, consider the sheaf $i_* Z$, where $i$ is the inclusion of a point x into X.
Suppose that x does not have the smallest open neighborhood. Then $i_*Z$ is not a quotient of a projective sheaf P.
Suppose otherwise. Then for any open neighborhood U of x, the homomorphism $P(U) \to i_* Z(U)$ is zero. This implies that the homomorphism $P \to i_*Z$ is zero since it is equivalent to a homomorphism from the stalk $P_x$ to $Z$.
Indeed, let V be a neighborhood of x which does not contain U. We have a surjection $Z_V \to i_* Z$. The homomorphism $P \to i_*Z$ must factor through $Z_V$, so $P(U) \to i_* Z(U)$ must factor through $Z_V(U)$. But $Z_V(U)=0$.
The same exact proof works for a ringed space $(X,O_X)$ and the category of $O_X$-modules: just replace $Z$ by $O$ everywhere, including replacing $Z$ on the point $x$ by the stalk $O_x$.
So the category of sheaves of abelian groups (resp. $O_X$-modules) on a topological space X (resp. ringed space $(X,O_X)$) has enough projectives iff X is an Alexandrov space (http://en.wikipedia.org/wiki/Alexandrov_space).
Surely this must appear in some standard text. Anybody has seen a reference?