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).
So to summarize Jon Woolf and David Treumann: the category of sheaves of abelian groups on a locally connected topological space 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?
For ringed spaces $(X,O_X)$ one direction: Alexandrov space $\Rightarrow$ enough projectives still works. But, on reflection, the other direction: no minimal open neighborhoods + locally connected $\Rightarrow$ not enough projectives, appears to be rather tricky. One can think of some weird structure sheaves for which the above argument does not go through (in particular, $O_V(U)\ne 0$). So I still wonder what the answer is for ringed spaces.