How to find a sub-forcing? Suppose that $M$ is a model of ZFC, $P\in M$ is a notion of forcing and $G$ is a $P$-generic filter over $M$.
It is a well-known theorem that if $M\subseteq N\subseteq M[G]$, and $N$ is a model of ZFC then $N=M[H]$ for some generic set $H$, and there is some $H'$ which is generic over $M[H]$ such that $M[G]=M[H][H']$.
But the proof I know uses Boolean valued models and is not particularly insightful about the following question:

Suppose that $M$ is a model of ZFC, $P\in M$ is a notion of forcing, and $\dot x$ is a $P$-name, such that if $G$ is a $P$-generic over $M$, and $x=\dot x^G$ then $G\notin M[x]$.
Can we give an explicit $Q\in M$ such that $x$ is $Q$-generic over $M$?

An additional question which is relevant to one particular case:

Suppose that $P$ is the Cohen forcing with $2^{<\omega}$. In such case every sub-forcing is isomorphic to $P$, what does that mean for us? Does it mean that the generic needs to be particularly chosen, or what?

 A: The intermediate model proof for $M\subset N\subset M[G]$ is not
so inexplicit. The situation is that, if $A\subset\text{Ord}$ is a
set of ordinals coding $P(\mathbb{B})^N$, the $N=M[G\cap
\mathbb{B}_0]$, where $\mathbb{B}_0$ is the Boolean algebra
generated by the $\mathbb{B}$-Boolean values of membership in
$\dot A$, where $\dot A$ is a $\mathbb{B}$-name for $A$. (This is
proved in Jech.) After all, if you know $G$ on this
$\mathbb{B}_0$, then you know $P(\mathbb{B})^N$ and hence all of
$N$ (as in Jech), and conversely, $N$ certainly knows the right
answers for $\dot A$.
In your case, you have $N=M[x]$, and so $A$ is any set of ordinals coding $P(\mathbb{B})^{M[x]}$ in $M[x]$, with $\mathbb{B}_0$ the Boolean values generated by the values $\[\check\alpha\in\dot A\]^{\mathbb{B}}$. 
Meanwhile, one cannot get too explicit about it, since the proof
in Jech uses AC and the fact is not generally true for ZF as
opposed to ZFC models. First of all, note that there can be intermediate ZF models. For example, one might start with $M=L$, say, and add $\omega_1$ many Cohen reals, to form $M[G]$. Let $N=L(\mathbb{R})^{M[G]}$, which is intermediate between $M$ and $M[G]$, but it doesn't have the form $M[G\cap\mathbb{B}_0]$ for any complete subalgebra, since it violates AC. In general, no intermediate $\text{ZF}+\neg\text{AC}$ model can be $M[G\cap\mathbb{B}_0]$, since these satisfy ZFC.
