In the case of surfaces, the necessary and sufficient condition is the absence of asymptotic values. A curve in $\gamma:[0,1)\to X$ is called an asymptotic curve if the limit $\gamma(t)$ as $t\to\infty$ is $\infty$ (the infinite point of one point compactification of $X$), but $f(\gamma(t))$ has a limit in $Y$ as $t\to 1$. This limit is called an asymptotic value. A covering is a local homeomorphism that has no asymptotic values. The only references for this that I know are for surfaces, but this should not be hard to prove in general under appropriate conditions. Probably $X$ and $Y$ have to be locally connected, in addition to what you said about them.
EDIT. Here is a proof. We assume that $Y$ is connected, and that every point $y\in Y$ has a path connected simply connected base of neighborhoods. Let $f:X\to Y$ be a local homeomorphism.
A path in a space is a continous map from $[a,b]$ or from $[a,b)$ to this space, where $a<b$ are real numbers. We say that the path begins at $\gamma(a)$. Let $\gamma:[a,b]\to Y$ be a path. A lifting of $\gamma$ is a path $\Gamma:[a,b]\to X$ such that $\gamma=f\circ\Gamma$.
If $\Gamma_1$ and $\Gamma_2$ are two liftings of the same path, and $\Gamma_1(a)=\Gamma_2(a)$ then $\Gamma_1=\Gamma_2$. (This is because $f$ is a local homeomorphism).
Let $x_0\in X$ be an arbitrary point and $y_0=f(x_0)$. Assuming that $f$ is a local homeomorphism without asymptotic values, we prove that every path beginning at $y_0$ has a lifting beginning at $x_0$. Let $\gamma$ be a path parametrized by $[a,b]$, beginning at $y_0$. Let $$c=\sup\{ p>0:\gamma\vert_{[a,p]}\;\mbox{has a lifting beginning at}\; x_0\}.$$ As $f$ is a local homeomorphism, we conclude that $c>a$. If $c=b$, the statement is proved. So assume that $c\in(a,b)$. Then, because of the uniqueness of lifting, a semi-open path $\gamma\vert_{[a,c)}$ has a lifting $\Gamma$.
I claim that $\Gamma(t)\to\infty$ as $t\to c$. Indeed, let $x_1\in X$ be a limit point of this path. Let $U$ be a neighborhood of $x_1$ where $f$ is a homeomorphism. Then $V=f(U)$ is a neighborhood of $\gamma(c)$, and we can extend our lifting by putting $\Gamma(t)=\phi(\gamma(t))$, for $t$ in a neighborhood of $c$, where $\phi$ is the inverse to the homeomorphism $f\vert_U$. This extends our lifting slightly beyond $c$, so we obtain a contradiction. Thus $\Gamma(t)\to\infty$ as $t\to c$. Then $\Gamma\vert_{[a,c)}$ is an asymptotic curve and $\gamma(c)$ is an asymptotic value. Again a contradiction.
Thus every path in $Y$ has a unique lifting, and this implies that $f$ is a covering.