Thanks all who replied to my question, sorry for the late reply. It seems this was a temporary error on the senders DNS servers (I assume as I've only seen this issue on their email). Rerunning spamassassin on the same message now doesn't trigger NO_DNS_FOR_FROM.
Thanks Matus, yes I know the MX isn't the same as the senders IP, in Exim if the sending IP PTR doesn't match a subsequent lookup of the returned FQDN in the PTR then Exim marks the mail as being sent from a server without rDNS (even though a PTR exists) and therefore triggers RDNS_NONE in spamassassin. Not sure if this behaviour is typical in other SMTP servers. Thanks also RW for the tips about "-D" and envelope_sender_header documentation. Noted for future reference! many thanks, Andy.