I think this is true. Let $G= \langle g_1, \ldots, g_n; R_1, \ldots, R_m \rangle$ be a finite presentation for $G$. Let $p:G\to G$ be a projection (or retract). Then $p(G)< G$ is generated by $p(g_1), \ldots, p(g_n)$. Let $F_n$ be the free group on $n$ generators, and $R\in F_n$ a relator of $p(G)$, so $R(p(g_1), \ldots, p(g_n))=1$. I claim that $p(R_1),\ldots, p(R_m)$ give finitely many relations for $p(G)$. Give a new presentation for $G$, $$\langle g_1, \ldots, g_n , y_1, \ldots, y_n ; y_1^{-1} p(g_1) , \ldots, y_n^{-1} p(g_n), R_1, \ldots, R_m \rangle.$$ With respect to this presentation, the homomorphism $p$ is given by $p(g_i)=p(g_i), p(y_i)=p(g_i)$. Then we must have the relation $R(y_1, \ldots, y_n)=1 \in G$, and therefore $R(y_1, \ldots, y_n) $ may be written as a product of conjugates of the relators. Then $p(R(y_1,\ldots,y_n)) = R(p(g_1),\ldots,p(g_n))$ is a product of conjugates of projections of the relators of the second presentation of $G$. This shows that $p(G)$ is finitely presented, and since the first $n$ relators project to the trivial relator, we see that the relators are given by $p(R_1),\ldots, p(R_m)$.
Here's a reformulation:
Let $G$ be a finitely presented group, with a projection $p:G\to G$, so $p^2=p$.
Then there is a free group $F = \langle g_1, \ldots, g_n\rangle$ and an epimorphism $\phi:F\to G$ such that $ker(\phi)$ is finitely normally generated. We may write the presentation as $$ \langle g_1,\ldots, g_n; R_1,\ldots, R_m\rangle.$$ The kernel of $p$ is normally generated by $\phi(g_i) p(\phi(g_i))^{-1}$ (exercise)*. Let $p': F\to F$ be a lift of $p$, which exists by the universal property of $F$, so that $p\circ \phi = \phi \circ p'$. Then $ker(p\circ \phi) = \phi^{-1}( ker(p)) $ is normally generated by elements projecting to the normal generators of $ker(p)$ togther with $ker(\phi)$. We may take $g_i p'(g_i)^{-1}$ together with the finitely many normal generators of $ker(\phi)$ to get normal generators of $ker(p\circ \phi)$. This gives a finite presentation of $p(G)$, given by $$\langle g_1,\ldots,g_n ; R_1,\ldots, R_m, g_1 p'(g_1)^{-1},\ldots, g_n p'(g_n)^{-1} \rangle.$$
In my previous "argument", I attempted to project this presentation by $p'$ to $p'(F)$, which is a free subgroup of $F$, but this is unnecessary, and I was incorrect that the new relators project to trivial relators in $p'(F)$.
*(exercise) Here's the details to show the kernel is normally generated by $\phi(g_i) p(\phi(g_i))^{-1}$. For simplicity of notation, I'll denote the generators as $g_i$ instead of $\phi(g_i)$, and assume that they are semigroup-generators of $G$. Then $ker(p)$ is
normally generated by $g_i p(g_i)^{-1}$. Call this normal subgroup $K$. Notice that it suffices to show that $g p(g)^{-1} \in K$, for all $g\in G$, since if $g\in ker(p)$, then $g p(g)^{-1} = g \in K$. We may show this by induction on the length of the word representing $g$. Clearly it's true if $g= g_i$. Now, suppose it is true for products of $k$ generators, $k\in \mathbb{N}$. Then if $g= g_{i_1} \cdots g_{i_{k+1}}$, we have
$$g p(g)^{-1}= g_{i_1} \cdots g_{i_{k+1}} p(g_{i_{k+1}})^{-1} \cdots p(g_{1})^{-1} = g_{i_1} p(g_{i_1})^{-1} ( p(g_{i_1}) ( g_{i_2} \cdots g_{i_{k+1}} p(g_{i_{k+1}})^{-1} \cdots p(g_{i_2})^{-1} ) p(g_{i_1})^{-1}) \in K$$ by induction and the fact that $K$ is closed under products and conjugations.