2 of 2 added 3 characters in body

Retina, 76 bytes

^
A2345678910JQK¶ 
\G(10|.)
 $&H $&D $&S $&C
Dr` \S+
G1`
^$
No missing cards

Input/output is a list of space-separated cards. Output has a leading space.

Try it online!

Explanation

Most of the code deals with building the full list of cards that should be in the deck:

^
A2345678910JQK¶ 
\G(10|.)
 $&H $&D $&S $&C

First, we prepend a newline to the input, with all possible values of cards, then for each character of this line (or the couple of characters 10) we build the list of all possible suits of that card.

Dr` \S+

This is a deduplication stage, it splits the string into chunks consisting of a space plus some non-spaces and keeps only one occurrence of each chunk. The modifier r makes this operate from right to left, keeping then the last occurrence of each chunk.

G1`

We keep only the first line, which now contains the missing cards.

^$
No missing cards

If the result is empty we replace it with "No missing cards"