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_\ast 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_\ast 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_\ast Z(U)$ is zero. This implies that the homomorphism $P \to i_\ast 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_\ast Z$. The homomorphism $P \to i_\ast Z$ must factor through $Z_V$, so $P(U) \to i_\ast 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 spaceAlexandrov space.
Surely this must appear in some standard text. Anybody knows a reference? And what about non-locally connected spaces?
For ringed spaces $(X,\mathcal{O}_X)$ one direction is still clear: $X$ being an Alexandrov space implies you'll have enough projectives. But on reflection the other direction, $X$ being a locally connected space without minimal open neighborhoods implies you don't have 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 $\mathcal{O}_V(U)\ne 0$. So I still wonder what the answer is for ringed spaces.