In my test environment, events generated by trapd are not associated with a node, despite the trap originating from an IP address that OpenNMS shows as assigned to a node.
I provisioned the node in this test environment (nodeid 3) with a single IP interface, 126.96.36.199 (Loopback0 on a Cisco router), with SNMP and ICMP services. SNMP discovered the rest of the interfaces.
See attachments for details.
Example 1 - trap sourced from Loopback0, event persisted with blank nodeid
Example 2 - trap sourced from GigabitEthernet0/1, event persisted with blank nodeid