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.