Is a language recursive? 2 wrong ways of solving
I'll assume that $R$ is the set of recursive languages and that in the definition of $NPA$ we are talking about Nondeterministic Polynomial Time.

You are just proving that, for $L \in R$, $L \subseteq Disagree(M_1, M_2)=\Sigma{}^*$ which says nothing about $NPA = R$.

To accept a language $L$, there must be some machine $M$ such that for each string $x \in L$ the computation $M(x)$ halts in the accepting state and for each string $x \not\in L$ the computation $M(x)$ does not halt. To decide a language $L$, the machine must halt in all inputs and, furthermore, if $x \in L$ the machine halts in accepting state, otherwise the machine halts in rejecting state.
That doesn't mean that the machine is &quot;tested&quot; simultaneously on an infinite number of strings.


That being said, when you want to prove that two sets are equal you need to prove that each one includes the other.
When you want to prove that two sets are different, it is sufficient to find some language that is in one set but non the other.
In your case, the requirement that $M_1, M_2$ must halt in a polynomial number of steps is suspicious.
If $L \in NPA$, then there are Nondeterministic machines $M_1, M_2$ such that they both halt in a polynomial number of steps and disagree precisely on $L$. From those machines, you can construct a Nondeterministic machine $M_{1,2}$ that decides $L$ in polynomial time, hence $L \in \mathcal{NP}$ and this proves the inclusion $NPA \subseteq \mathcal{NP}$ by generality of $L$.
By the Time Hierarchy Theorem,
$$NPA \subseteq \mathcal{NP} \subsetneq \mathcal{N}EXP \subseteq R$$
Hence $NPA \neq R$.