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.