It is consistent that the answer is no.

If we start with $L$ as our ground model then whenever $T$ is a Suslin tree, the forcing $\mathbb{P}_T$ which shoots a branch through $T$ will always introduce new Suslin trees. Thus in $L$, $\mathbb{P}_T$ is an example of a forcing which has the ccc, adds Suslin trees and does not add a Cohen real.

To see that $\mathbb{P}_T$ adds a new Suslin tree, note first that whenever $G$ is $L$-generic for $\mathbb{P}_T$, $\diamondsuit$ still holds in the extension $L[G]$: if $(a_{\alpha} \, : \, \alpha < \omega_1)$ is $\diamondsuit$-sequence in $L$ then $(a_{\alpha}^G \, : \, \alpha < \omega_1)$ will be a $\diamondsuit$-sequence in $L[G]$ as can be seen using the ccc of $\mathbb{P}_T$ and the fact that $\mathbb{P}_T$ has size $\aleph_1$.

Next observe that $\mathbb{P}_T$ will add a new subset of $\omega_1$ and hence a new stationary subset of $\omega_1$ by a theorem of Solovay, saying that each stationary subset of $\omega_1$ can be partitioned into $\omega_1$-many stationary sets.

Finally fix a new stationary subset $B \subset (\omega_1 \cap Lim)$ and, working in $L[G]$, use the restricted diamond sequence $\diamondsuit_B := (a_{\alpha}^G \, : \, \alpha \in B)$ to define a new Suslin tree $S$:
Build the tree via induction on its height. If $\alpha$ is a limit ordinal then let $S_{\alpha}:= \bigcup_{\beta< \alpha} S_{\beta}$. If $\alpha$ is a double successor ordinal let $S_{\alpha+1}$ be the extension of $S_{\alpha}$ which adjoins to every top level $x \in S_{\alpha}$ infinitely many immediate successors. If $\alpha$ is limit we distinguish two cases in the definition of $S_{\alpha+1}$.

If $\alpha \notin B$ let $S_{\alpha+1}$ be the $<_L$-least normal extension of $S_{\alpha}$ (note here that we can use the $L$-wellorder as $\mathbb{P}_T$ is $\omega$-distributive, hence no new countable sets are added by $\mathbb{P}_T$).

If $\alpha \in B$ and $a_{\alpha}^G$ is a maximal antichain in $S_{\alpha}$ let $S_{\alpha+1}$ be the $<_L$-least normal extension of $S_{\alpha}$ such that $a_{\alpha}^G$ remains maximal in $S_{\alpha+1}$. And finally if $\alpha \in B$ but $a_{\alpha}^G$ is not a maximal antichain in $S_{\alpha}$, let $S_{\alpha+1}$ be a normal extension of $S_{\alpha}$ which is not the $<_L$-least.

The standard argument shows that $S:= \bigcup_{\alpha < \omega_1} S_{\alpha}$ is a Suslin tree.
However the way we defined $S$ ensures that $S$ can not be in $L$.Indeed if we assume that $S \in L$ then one could define $B \subset \omega_1$ via just looking at the stages of $S$ where $S_{\alpha+1}$ is not the $<_L$-least normal extension of $S_{\alpha}$. Thus if $S \in L$, $B$ would be in $L$ as well which is a contradiction.