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.