Your statement that if $f$ is not surjective, then $f=e^g+c$ where $g$ is surjective is wrong: $g$ does not have to be surjective. Example: $f(z)=e^{e^z}$. By the way, this example permits an infinite iteration: there
is an infinite sequence of entire functions $f_n$ such that all of them are zero-free, and $e^{f_{n+1}}=f_n$.
There are various results which imply that $f$ is surjective, you have to be more specific, what kind of criterion you want. In terms of growth of coefficients,
if $$\rho:=\limsup_{n\to\infty}\frac{n\log n}{-\log|a_n|}<1$$
then $f$ is surjective. If this is equal to $1$, but
$$\sigma:=\limsup_{n\to\infty}n|a_n|^{1/n}=0,$$
then $f$ is surjective.
Moreover, if $f$ is not surjective then either $\rho$ is a positive integer and
$\sigma$ is non-zero and finite, or $\rho=\infty$.
This gives a pretty strong sufficient condition of surjectivity in terms of coefficients.
Another types of conditions can be obtained when you know something about $f$ beyond the coefficients. For example, if $f$ has infinitely many zeros, but not too many:
$$\limsup_{r\to\infty}\frac{\log n(r)}{\log r}<\rho,$$
where $n(r)$ is the number of zeros in the disk $|z|\leq r$, then $f$ is surjective. This can be very much refined, if needed.
One can give very many other sufficient conditions in terms of coefficients, for example if many of the coefficients are $0$ (gap series), and in other terms. For example, one can combine growth conditions with gap conditions. But the only reasonable necessary and sufficient condition is that $f=e^g+c$ with some entire $g$.
Reference: B. Ya. Levin books on entire functions (any of the two of them).