First of all, I'm not sure "nonnegative matrix" means, unambiguously, "matrix with nonnegative entries." But my bigger issue with
...and thus there exists a nonnegative matrix $\mathcal{Q} \in \mathcal{M}_N(\mathbb{R^+})$...
is that you may not need the notation at all. Sometimes programs that debug code will point out when you're declaring a variable but not using it for anything. It's not exactly an error, but it can complicate your writing.
If you're going to refer to the set of $N\times N$ matrices with nonnegative entries several times, name it at the beginning of a paragraph. Then use the shorthand notation later on. As in:
Let $\mathcal{M}_N(\mathbb{R^+})$ be the set of all $N\times N$ matrices with nonegative entries. ... yada yada yada ... and thus there exists $\mathcal{Q} \in \mathcal{M}_N(\mathbb{R^+})$ such that ...
This way, someone who missed what exactly $\mathcal{M}_N(\mathbb{R^+})$ was can scan backwards to the beginning of the paragraph to find it. Someone who remembers can just move on without stumbling over an inline declaration.
If you're not going to refer to the set often, there's no need to name it with notation. Just say
... and thus there exists an $N\times N$ matrix $\mathcal{Q}$ with nonnegative entries such that ...
Erdos wrote “the best notation is no notation.” Use it only if you need it.