Here's the corrected version:
/usr/bin/sudo /usr/sbin/tcpdump -i any -Z user -s 0 -w - -v port xxx or xxx | ssh root@xx.xx.xx.xx -C 'cat - > "/opt/pcap/trace.$(date +\%s)"' &
The original version had two problems, the stray . character before & at the end, and the -w - option to tcpdump being after the filter expression (options must come before the expression):
/usr/bin/sudo /usr/sbin/tcpdump -i any -Z user -s 0 -v port xxx or xxx -w - | ssh root@xx.xx.xx.xx -C 'cat - > /opt/pcap/trace.`date +\%s`' .&
problems here: ^^^^ and here: ^
I also replaced the backticks with $( ), which is cleaner in a couple of ways, and put double-quotes around the resulting filename (not strictly necessary, but good general practice for something that contains a command or variable substitution).
The versions you tried in the comments had a couple of additional problems due to missing spaces: -Z username-s 0 instead of -Z username -s 0 and 12345-w - instead of 12345 -w -. Spaces are important delimiters in shell syntax, so be careful not to add or remove them unless you know it's safe in that specific place. Here, it would've been ok to remove the spaces between an option and its argument (e.g. -Zusername -s0 instead of -Z username -s 0), but removing a space between an argument and the next option causes chaos.