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 neighbourhood of $x$ contains a strictly smaller neighbourhood. Then the category of sheaves of abelian groups on $X$ does not have sufficient projectives.
Proof: Given a connected neighbourhood $U$ of $x$ find a strictly smaller neighbourhood $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 neighbourhood $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.