Let me augment Victoria's nice answer with a few additional
remarks.

What I'd like to point out is that, contrary to what has been
stated, one doesn't actually need to assume that $G$ is
$M$-generic in order to conclude $M[G]\prec H_\theta[G]$; having
$G\subset\mathbb{P}\in M$ being $H_\theta$-generic (that is,
$V$-generic) is sufficient.

Let's begin by correcting, as Victoria does, your definition of
what it means for $G\subset\mathbb{P}$ to be $M$-generic, in the
case where $M\prec H_\theta$ is a possibly non-transitive
elementary submodel of some $H_\theta$. You said to be generic
means to meet every dense subset $D\subset \mathbb{P}$ with $D\in M$, but this
is not the right definition. You want to say instead that $G$
meets every such dense set $D$ *inside* $M$. That is, that $G\cap D\cap M\neq\emptyset$. If we only have $G\cap D\neq\emptyset$, then $M$ will not have access to the conditions $p\in G\cap D$ that are useful when a filter meets a dense set. So it is the corrected definition that treats $\langle M,{\in^M}\rangle$ as a model of set theory in its own right, insisting that for every dense set in this structure, the filter meets it. 

Proper forcing is of course concerned all about this, since we
seek a condition $p\in\mathbb{P}$ forcing that whenever
$G\subset\mathbb{P}$ is $V$-generic, then it is also $M$-generic
in this sense.

But we may still form the extension $M[G]$ whether or not $G$ is
$M$-generic in this sense, defining $M[G]=\{\tau_G\mid\tau\in M^{\mathbb{P}}\}$
to be the interpretation of all names in $M$ by the filter $G$.
Now, it turns out that for $V$-generic filters $G$, we have that
$G$ is $M$-generic just in case
$M[G]\cap\text{Ord}=M\cap\text{Ord}$, which holds just in case
$M[G]\cap V=M$. This is easy to see, since any name $\dot\alpha$
for an ordinal in $M$ gives rise to an antichain of possibilities
in $M$, and so if $G$ is $M$-generic, then it will force
$\dot\alpha$ to be an ordinal already in $M$. And for the other
direction, given any maximal antichain in $M$, we may construct by
the mixing lemma a name $\dot\alpha$ for an ordinal, which will be
a new ordinal just in case $G$ does not meet $A\cap M$.

Assume $H_\theta$ satisfies a sufficiently large fragment of ZFC.

**Theorem.** If $M\prec H_\theta$ and $G\subset\mathbb{P}\in M$ is
$H_\theta$-generic, then $M[G]\prec H_\theta[G]$.

Proof. Suppose that $M\prec H_\theta$ and $G\subset\mathbb{P}\in
M$ is $H_\theta$-generic. We may still form $M[G]=\{\tau_G\mid
\tau\in M^{\mathbb{P}}\}$ as the set of interpretations of names in $M$ using the
filter $G$. Let $\bar M=M[G]\cap V$. This is larger than $M$,
precisely when $G$ is not $M$-generic. I claim that $\bar M\prec
H_\theta$, by verifying the Tarski-Vaught criterion, since if
$H_\theta$ has a witness, then we may find a name in $M$ for such
a ground-model object, and so we will find a witness in $\bar M$.
And since $\bar M\subset \bar M[G]\cap V\subset M[G]\cap
V=\bar M$, it follows that $\bar M[G]\cap V=\bar M$, and so $G$ is
actually $\bar M$-generic. So $M[G]=\bar M[G]\prec H_\theta[G]$ by
reducing to the case where we do have the extra genericity. QED

In regard to question 2, of course we want $G$ to be
$H_\theta$-generic, since without this it is easy to make
counterexamples to $M[G]\prec H_\theta[G]$. For example, if $M$ is
countable we can easily find $M$-generic filters $G$ with $G\in
H_\theta$, and in this case, if the forcing is nontrivial then
$M[G]$ is definitely not an elementary substructure of
$H_\theta[G]=H_\theta$. This is the argument of your last paragraph, and that is totally right; so the conclusion is that for this question we want to assume $G$ is $V$-generic. 

Lastly, let me point out that one doesn't need countable models in order to undertake the forcing construction, and one can speak of the forcing extensions of any model of set theory, whether it is countable, transitive, uncountable, nonstandard, whatever. The most illuminating way to do this is via Boolean-valued models, and by taking the quotient, one arrives at the Boolean ultrapower construction. The basic situation is the if $V$ is a model of set theory containing a complete Boolean algebra $\mathbb{B}$, and $U\subset\mathbb{B}$ is an ultrafilter ($U\in V$ is completely fine), then one may form the quotient $V^{\mathbb{B}}/U$ of the $\mathbb{B}$-valued structure, and this is realized as a forcing extension of its ground model $\check V_U$, and furthermore there is an elementary embedding of $V$ into $\check V_U$, called the Boolean ultrapower map. So the entire composition $$V\overset{\prec}{\scriptsize\sim} \check V_U\subset \check V_U[G]=V^{\mathbb{B}}/U$$ lives inside $V$. There is no need for $V$ to be countable and no need for $U$ to be generic in any sense, yet $G$, which is the equivalence class of the name $\dot G$ by $U$, is still nevertheless $\check V_U$-generic. You can find fuller details in my paper with D. Seabold, [Boolean ultrapowers as large cardinal embeddings](http://jdh.hamkins.org/boolean-ultrapowers/).