It is well known that the intersection of two models of ZFC does not have to be a model of ZFC (or even ZF). Now what if we restrict ourselves to models $M[G]$, $M[H]$ which are generic over $M$ for the same poset $\mathbb{P}$? What about their intersection. It is not too difficult to show that if $G \times H$ is $\mathbb{P} \times \mathbb{P}$ generic over $M$, then $M[G] \cap M[H] = M$ is a model of ZFC. But if $G$ and $H$ are arbitrary then this need not be the case and I have an example below. But this example looks fairly complicated and I am wondering whether this is already the case for Cohen forcing, i.e:

Can we find two Cohen reals $c_0$, $c_1$ over $M$ so that $M[c_0] \cap M[c_1]$ is not a model of ZF?

The simplest reason for $M[c_0] \cap M[c_1]$ not satisfying ZF would be a failure of power set in the form that $M[c_0] \cap M[c_1]$ contains no set of all reals but I see no obvious way to do this. If $c_0$, $c_1$ are Sacks reals over $M$ then $M[c_0]$ either contains the same reals as $ M[c_1]$ or they only share those of $M$ so this sort of failure is impossible in this case.

The following is an example where this is true:

Let $\mathbb{P}$ be $\prod_{n \in \omega} \mathbb{C}(\omega_n)$. This is the standard Easton product for adding one $\omega_n$-Cohen real for every $n$. Let $A \subseteq \omega$ be some very bad real that codes, say, a well order of $M$'s height. Now I claim that we can find two generics $\bar x = \langle x_n \rangle_{n \in \omega}$, $\bar y = \langle y_n \rangle_{n \in \omega}$ so that $x_n = y_n$ exactly when $n \in A$ and for any $n \notin A$, $M[\bar x]$ and $M[\bar y]$ have no common $\mathbb{C}({\omega_n})$ generics over $M$. Then if $M[\bar x] \cap M[\bar y]$ was a model of ZF, we could decode $A$.

How to construct $\bar x, \bar y$? Let $\langle D_i \rangle_{i \in \omega}$ enumerate all dense subsets of $\mathbb{P}$ in $M$ and $\langle (\tau^0_i, \tau^1_i, n_i,) \rangle_{i \in \omega}$ enumerate all triples where $\tau^0_i$, $\tau^1_i$ are $\mathbb{C}({\omega_{n_i}})$ names in $M$ for $n_i \notin A$. Now construct $\langle p_i \rangle$, $\langle q_i \rangle$ decreasing sequences in $\mathbb{P}$ as follows: We assume that $p_i,q_i$ agree on coordinates in $A$. Extend $p_i$ to $p'$ and $q_i$ to $q'$ so that $p',q' \in D_i$ and $p',q'$ still agree on coordinates in $A$ (first extend $p_i$ to $p_i'' \in D_i$ , then let $q''$ extend $q_i$ by agreeing with $p''$ on places where $q_i$ and $p_i$ already agreed, then extend $q''$ to $q' \in D_i$ and then $p''$ to $p'$... ).

Now note that $\prod_{n \neq n_i} \mathbb{C}(\omega_n)$ does not add any $\mathbb{C}({\omega_{n_i}})$ generic over $M$. This means that if $\tau$ is a $\mathbb{P}$ name for a $\mathbb{C}(\omega_{n_i})$ generic and $r \in \mathbb{P}$, then $r$ can be extended to $r'$ on coordinates different than $n_i$ so that there are $\sigma \perp \sigma' \in \mathbb{C}({\omega_{n_i}})$ so that $\sigma \subseteq \tau$ or $\sigma' \subseteq \tau$ can be forced by extending the $n_i$'th coordinate (and only this coordinate). Now using this extend $p'$ to $p_{i+1}$ and $q'$ to $q_{i+1}$ again so that they agree on coordinates in $A$ but $\tau^0_i[\bar x]$ and $\tau^1_i [\bar y]$ will disagree.