The condition that each point has a minimal open neighbourhood is necessary and sufficient (as suggested by David Treumann above, see his answer for sufficiency).
Suppose X is a topological space with a point x such that any connected nbhd of x contains a strictly smaller nbhd. Then the category of sheaves of abelian groups on X does not have sufficient projectives.
Suppose $X$ is a topological space with a point $x$ such that any connected neighbourhood of $x$ contains a strictly smaller neighbourhood. Then the category of sheaves of abelian groups on $X$ does not have sufficient projectives.
ProofProof: Given a connected nbhd Uneighbourhood $U$ of x$x$ find a strictly smaller nbhd Vneighbourhood $V$ and consider the cover {V , X-x}$\{V , X-x\}$ of X$X$. There is a surjection
Z_V \oplus Z_{X-x} \to Z_X$$Z_V \oplus Z_{X-x} \to Z_X$$
where Z_A$Z_A$ denotes the extension by zero of the constant sheaf with stalk Z$Z$ on the subspace A$A$. If there are enough projectives then there is a projective cover P \to Z_X$P \to Z_X$ of the constant sheaf. This must factorise through the above surjection. But by construction Z_V(U) =0$Z_V(U) =0$ and Z_{X-x}(U) = 0$Z_{X-x}(U) = 0$ so
P(U) \to Z_X(U)$$P(U) \to Z_X(U)$$
must be the zero map. By assumption on X$X$ this is true for any connected nbhd Uneighbourhood $U$ of x$x$ and so the stalk map
P_x \to Z_X,x = Z$$P_x \to Z_X,x = Z$$
is zero too. This contradicts the fact that P \to Z_X$P \to Z_X$ is a projective cover.