About Jon Woolf's answer: it seems to me that 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 trivial modification: 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 and x has a basis of connected neighborhoods. Then $i_*Z$ is not a quotient of a projective sheaf P. 

Suppose otherwise. Then for any connected 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, pick a neighborhood V which is smaller than 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$ (this equality may fail if $U$ is not connected, however).

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 locally connected 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 knows a reference? And what about non-locally connected spaces?