Cohen generics over the ground model still Cohen over other generic extensions? Let $M$ be a countable transitive model of (enough of) ZFC. I'm looking for notions of forcing $\mathbb{P}$ such that if $G$ is $M$-generic for $\mathbb{P}$, then $c$ is a Cohen real over $M$ if and only if $c$ is Cohen real over $M[G]$.
Ideally, $\mathbb{P}$ should be a "typical" poset for adding reals in an obvious way, e.g., $\mathbb{P}$ is equivalent to the quotient of the Borel sets in $\mathbb{R}$ by some non-trivial $\sigma$-ideal (in $M$).
One such example is Sacks forcing, see Todd Eisworth's answer here: Is a model of set theory determined by the Cohen reals over it?
Are there other examples?
 A: Another example of a forcing like this is the forcing to add an infinitely equal real. I'll sketch the proof, although it is quite similar to the one for Sacks forcing.
Recall that conditions in the poset $\mathbb{P}$ are partial functions $p:\omega\to\omega$ with coinfinite domains and satisfying $p(n)\leq 2^n$, ordered by inclusion. We want to show that any dense open set in the extension by $\mathbb{P}$ contains a dense open set from the ground model (the conclusion about preserving Cohenness then follows). So fix a condition $p$ and a name $\dot{D}$ for a dense open subset of $2^{<\omega}$. We will find a function $f:2^{<\omega}\to 2^{<\omega}$ in $V$, satisfying $t\subseteq f(t)$, and a condition $q\leq p$ such that $q\Vdash \mathrm{ran}(f)\subseteq\dot{D}$.
The condition $q$ will be the fusion of a sequence of conditions $p=p_0\geq_0 p_1\geq_1 p_2\geq_2\dots$, where $r\geq_n t$ means that $r\geq t$ and they have the same first $n$ many points missing from their domains. We construct the function $f$ alongside and we will ensure that $p_{n+1}$ forces that $f$ maps the $n$th level of the tree into $\dot{D}$. So suppose we are given $p_n$. There are only finitely many conditions $\bar{p}_n^j\leq p_n$ where we have only filled in the first $n$ many blanks in $p_n$. Running through all of these and then finally putting those blanks back, we find a condition $p_{n+1}\leq_n p_n$ and function values $f(s)$ for $s$ of length $n$ such that any extension of $p_{n+1}$ obtained by filling in the first $n$ blanks forces that $f$ maps the $n$th level into $\dot{D}$. It follows that $p_{n+1}$ forces the same thing.

Both this and the Sacks example work by showing that every new dense open set of Cohen conditions contains an old dense set (even dense open), and this suffices as mentioned by Joel in the comments. One can also look at the sets of reals directly and restate this as: every new open dense (or comeager) set contains an old coded comeager set. In other words, the meager ideal of the extension is generated by the old meager ideal.
The following is Lemma 6.3.21 from the Bartoszyński--Judah book.

Theorem: Let $\mathbb{P}$ be a proper poset. The following are equivalent:
  
  
*
  
*The meager ideal of the extension by $\mathbb{P}$ is generated by the meager ideal of the ground model.
  
*$\mathbb{P}$ is $\omega^\omega$-bounding and for every suitable countable elementary substructure $X$ and every Cohen real $c$ over
  $X$, any condition $p\in X\cap\mathbb{P}$ can be extended to an
  $X$-master condition which forces that $c$ remains Cohen over
  $X[\dot{G}]$.
  

So, if $\mathbb{P}$ is a proper $\omega^\omega$-bounding forcing which doesn't satisfy (1), we can find a model $X$ (or its collapsed version $M$), a Cohen real $c$ over $X$ and a $P$-generic $G$ over $X$ such that $c$ is not Cohen over $X[G]$. In this sense, (1) is a necessary condition for this class of forcings to preserve Cohenness over arbitrary countable models.
