Need surjective chain map induce surjective homomorphism between homology groups? Since $f_*[x]\to[f(x)]$?
No, consider the morphism of chain complexes of vector spaces over a field $k$ $$C:= ... \to 0\to k \to k \to 0\to ...$$ and $$C':= ... \to 0 \to k \to 0 \to 0\to ...$$ where the first $k$ is in degree $0$ for both complexes, and consider $f: C \to C'$ as the obvious non zero morphism between those two ($id$ in degree $0$ and $0$ otherwise). Then this defines a surjective morphism of chain complexes, but since $H^*(C)=0$ and $H^0(C')=k$ we get that $H^*(f)$ can't be surjective.
The problem with your reasoning is that your preimage might die in homology, i.e not even be represented.