I've left off the trailing semicolon in each TXT record of my DMARC records, but I've never thought if this is ignoring some convention, or could cause lookups to fail somehow.
For example, is there any difference between:
"v=DMARC1; p=reject; rua=mailto:dmarc@mydomain.com"
and
"v=DMARC1; p=reject; rua=mailto:dmarc@mydomain.com;"