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.



Intersection of two generic extensions
Let $M$ be a countable transitive model. Fix $a\subseteq \omega$ such that $a$ is not generic over $M$. We plan to construct a pair of $M$-generic Cohen reals $G\_0$ and $G\_1$ such that $P(\omega)\cap M[G\_0]\cap M[G\_1]$ encodes $a$ and hence does not belong to $M[G\_0]$ or $M[G\_1]$ let alone $M[G\_0]\cap M[G\_1]$.


Since adding $\omega$ Cohen reals is the same as adding a single one, we might as well instead construct a pair of $M$-generics $G\_0,G\_1\subseteq \text{Add}(\omega,\omega)$ with the property described above.


We build $M$-generic sets $G\_0,G\_1\subseteq \text{Add}(\omega,\omega)$ such that if $\langle g^0\_n : n < \omega\rangle$ and $\langle g^1\_n : n < \omega\rangle$ are the associated reals then


1. For all $n\in a$, $g^0\_n = g^1\_n$.
2. For all $n\notin a$, $g^0\_n\times
 G\_1$ is generic for $\text{Add}(\omega,1)\times
 \text{Add}(\omega,\omega)$.
3. For all $n\notin a$, $g^1\_n\times
 G\_0$ is generic for $\text{Add}(\omega,1)\times
 \text{Add}(\omega,\omega)$.


It follows that $S = P(\omega)\cap M[G\_0]\cap M[G\_1]\notin M[G\_0]$, since $a = \{n : g^0\_n\in S\}$ can be computed from $S$ and $G\_0$ and $a\notin M[G\_0]$. In particular $S\notin M[G\_0]\cap M[G\_1]$, so $M[G\_0]\cap M[G\_1]$ does not satisfy the Powerset Axiom.


The generics are constructed by building two decreasing sequences of $\text{Add}(\omega,\omega)$ conditions $\langle p^i : i < \omega\rangle$ and $\langle q^i : i < \omega\rangle$ converging to $G\_0$ and $G\_1$ respectively, inductively meeting the countably many relevant dense sets while maintaining at each stage $i$ that $p^i\_n = q^i\_n$ for $n\in a$ by copying the information on the coordinates in $a$ every time one extends a condition. This can be done because the steps enforcing genericity in $\text{Add}(\omega,1)\times\text{Add}(\omega,\omega)$ only add information on the coordinates in $a$ to one of the sequences.


