Let $G$ be an abelian group. Suppose that $F$ is a subgroup of $G$ such that $F$ is free. Does there necessarily exist a subgroup $H\subset G$ such that $G\cong F\oplus H$?
Motivation: In Lang's Algebra (Third Edition), Chapter 1, Section 7, Lemma 7.2 ensures that if there exists a surjective group homomorphism $f: G\to F$, then the answer is affirmative. Indeed, in that case we get $G\cong F\oplus \ker f$.
No, not necessarily. Consider $\mathbb{Z} \subset \mathbb{Q}$. Then there is no subgroup $H$ of $\mathbb{Q}$ such that $\mathbb{Q} \cong \mathbb{Z} \oplus H$. Indeed for every $x \in \mathbb{Q}$, there is $y$ such that $y+y=x$. But that's not true for $(1,0) \in \mathbb{Z} \oplus H$.
In fact the existence of such a subgroup $H$ is equivalent to the existence of a surjective morphism $G \to F$; as you've shown it's necessary, and on the other hand if $G \cong F \oplus H$ then the projection $G \to F$ is a surjective homomorphism so it's also sufficient.