Is P = {  | M rejects w} the complement to Atm = {  | M accepts w}?
The answer to the question in the title (is $P$ the complement of $A_{tm}$) depends on several issues. To see why, let's start by computing the complement of $A_{tm}$:
$$
\overline{A_{tm}} = \{ \langle M,w \rangle : M \text{ does not accept } w \} \cup \{ x : x \text{ is not of the form } \langle M,w \rangle \}.
$$
If you choose an encoding for $\langle M,w \rangle$ for which there exist strings which are not of the form $\langle M,w \rangle$, then $P$ is definitely not the complement of $A_{tm}$. However, there do exist encodings in which you can decode any string into a Turing machine and an input string. In that case,
$$
\overline{A_{tm}} = \{ \langle M,w \rangle : M \text{ does not accept } w \}.
$$
You are asking whether this is the same as
$$
P = \{ \langle M,w \rangle : M \text{ rejects } w \}.
$$
The question is how you define acceptance and rejection. Here is one possible definition:


  A Turing machine accepts an input if it halts on an accepting state. It rejects an input if it halts on a non-accepting state.


Under this definition, there is also a third option: the Turing machine never halts. So $P$ and $A_{tm}$ are not complements of each other. Here is another definition:


  A Turing machine accepts an input if it halts on the input. Otherwise it rejects it.


Under this definition, $P$ and $A_{tm}$ are complements of each other. If you define the language of a Turing machine as the set of strings it accepts, then both definitions are equivalent (you can modify a Turing machine to fit either), but the exact choice does matter for your particular question.