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.

Proof: Given a connected nbhd U of x find a strictly smaller nbhd V and consider the cover {V , X-x} of X. There is a surjection

Z_V \oplus Z_{X-x} \to Z_X

where Z_A denotes the extension by zero of the constant sheaf with stalk Z on the subspace A. If there are enough projectives then there is a projective cover P \to Z_X of the constant sheaf. This must factorise through the above surjection. But by construction Z_V(U) =0 and Z_{X-x}(U) = 0 so

P(U) \to Z_X(U)

must be the zero map. By assumption on X this is true for any connected nbhd U of x and so the stalk map

P_x \to Z_X,x = Z

is zero too. This contradicts the fact that P \to Z_X is a projective cover.