Surjectivity of meromorphic functions with a pole of order 1

Let $f(z)$ be a meromorphic function having pole of order $1$. For every $\tau \in \mathbb{C}$ does there exist a $z_o$ such that $f(z_o)= \tau$? If not in $\mathbb{C}$ then does it hold on a Riemann Surface?

No. For example, the function $$f(z) = \frac{e^z}{z}$$ has a simple pole at the origin, but doesn't attain the value $0$.
For meromorphic functions on the Riemann sphere, your guess is correct though. Such functions are in fact rational, and the result follows from the fundamental theorem of algebra. (Note that some value may be attained only at $\infty$.)