Here is the short version of a negative answer. Let $P$ be the collapse of $\omega_2$ to $\omega_1$ with countable conditions. Fix a family $(N_\eta:\eta\in 2^{<\omega})$ of quite different models. Specifically, make sure that along each branch in $2^\omega$ the union of the models will get a different intersection with $\omega_2$. Now go to any extension $V^Q$ where there is a new real. The new real will give a new branch, yielding a new model; no condition in $P$ can be generic for this model, since a generic condition has to know the model.
(I could not find a counterexample for a week. But since I am in Jerusalem at the moment, I eventually gave up and asked Shelah. It took him only a minute or so to come up with this answer. He also said that he is using this specific $P$ is just to understand generic conditions better; many others would work as well.)
Here is the more explicit version. (Perhaps too explicit? Perhaps too complicated? It is quite possible that I have overlooked a simpler solution.)
Let $P$ be the set of countable partial 1-1 functions from $\omega_1$ to $\omega_2$. Note that if a condition $q$ is $N$-generic it must satisfy the following properties:
- $dom(q) \supseteq \omega_1\cap N $. (Otherwise $q\cup \{(\alpha,\beta)\}$ for some $\alpha\in \omega_1\cap N$, $\beta\in \omega_2\setminus N$ will force that $N[G]$ has the new ordinal $\beta$.)
- $q[\omega_1\cap N]\subseteq \omega_2\cap N$. Obviously.
- $q[\omega_1\cap N] \supseteq \omega_2 \cap N$. (If $\beta\in \omega_2\cap N$ is outside the range of $q[\omega_1\cap N]$, then $q$ would force that $g^{-1}(\beta)\in \omega_1\cap N$ is an ordinal outside $N$. Here I write $g$ for the generic function, i.e. the union of all conditions in the filter.)
- Summarizing: $q\restriction(\omega_1\cap N)$ is a bijection between $\omega_1\cap N$ and $\omega_2\cap N$. (If I have not overlooked anything, this is also sufficient for being generic.)
So a generic condition must really know a lot about $N$. We will use this to get a counterexample.
Let $(N_\eta:\eta\in 2^{<\omega})$ be a family of countable elementary submodels with the following properties:
- For all $\eta,\nu\in 2^\omega$ with $\eta\not=\nu$ we have $N_\eta \cap \omega_2 \not=N_\nu\cap \omega_2$. ($N_\eta$ is defined naturally as $\bigcup_n N_{\eta\restriction n}$.)
- Moreover: For every $\eta\in 2^{<\omega}$ there is an ordinal $\alpha_\eta\in \omega_2$ witnessing that the two branches that split at $\eta$ will yield models whose intersections with $\omega_2$ are different: $\alpha_\eta\in N_{\eta^\frown 1}$, but not in $N_{\eta^\frown0}$, and also $\alpha_\eta\notin N_\nu$ for any $\nu$ extending $\eta^\frown0$.
- There is a $\delta$ such that $\omega_1\cap N_\eta=\delta$ for all $\eta\in 2^\omega$.
Now let $Q$ be a (ccc, or proper) forcing adding a new real $\nu\in 2^\omega$. In the extension $V^Q$ the family $(N_{\nu\restriction n}[G]:n\in \omega)$ is an increasing sequence of elementary submodels; its union $N_\nu[G]$ is again an elementary submodel, and $N_\nu[G]\cap \omega_1=\delta$.
Assume that $q$ is generic for this model. Then $S:=q[\delta]=\omega_2 \cap N_\nu[G]$ is a set in the ground model. But now $\nu$ can be computed from $S$: $\eta(0)=1 $ iff $\alpha_{\langle\rangle}\in S$, $\eta(1)=1 $ iff $\alpha_{\langle\eta(0)\rangle}\in S$, etc. Contradiction.
It remains to find a tree as described above. (I took some of the following arguments from chapter XV of "Proper and Improper Forcing". I suspect there might be a much easier construction.)
- Start with a Namba tree $(N_s:s\in \omega_2^{<\omega})$ of countable models which are increasing along each branch and satisfy $s\in N_s$ for all $s\in \omega_2^{<\omega}$.
- Thin out the tree to make all $N_s\cap\omega_1$ equal to some $\delta$ for all $s\in \omega_2^\omega$, still keeping $\aleph_2$ many successors of each node. (Proper and improper, XV 2.12, based on XI 3.5, going back to a partition theorem in Rudin+Shelah, APAL 1987, RuSh:117. Use determinacy of a low level Borel game.)
- Replace each model $N_s$ ($s\in \omega_2^{<\omega}$) by the Skolem closure of $N_s\cup\delta$.
- Now all $\omega_1\cap N_s=\delta$ for all $s\in \omega_2^{\le \omega}$.
Now find a binary tree $(s_\eta:\eta\in 2^{<\omega})$ with corresponding models $M_\eta:=N_{s_\eta}$ as follows.
- Start with $s_{\langle\rangle}:=\langle\rangle$, $M_{\langle\rangle}=N_{\langle\rangle}$.
- Given $M_\eta=N_{s_\eta}$, first pick an ordinal $\alpha_\eta$ which appears in one of the successors of $M_\eta$ in the $N$-tree (i.e., in some $N_{s_\eta^\frown i}$, but not in coboundedly many of them.
- Let $M_{\eta^\frown 0}$ be a successor of $M_{\eta}$ containing $\alpha_\eta$.
- Let $M_{\eta^\frown 1}$ be a successor of $M_{\eta}$ not containing $\alpha_\eta$, but containing some larger ordinal $\beta_\eta$.
- Note that no model $M\supseteq M_{\eta^\frown1}$ with $M\cap \omega_1=\delta$ can contain $\alpha_\eta$ as an element, since already $M_{\eta^\frown1}$ sees a bijection between $\omega_1$ and $\beta_\eta$; if a new element appeared in the range of this bijection, a new element would have to appear also in the domain.
This finishes the inductive step, and thus completes the construction of the tree of models.