What is a good diagrammatic way to represent asynchronous event communication between two systems (the pub sub model)? I am not looking for tools but more of a representation. Is it a sequence diagram, a swim lane diagram or some other?
The UML sequence diagram is well adapted to represent an interaction between several objects (or components or, why not,systems). It has semantic to make the difference between synchronous and asynchronous communication. You may even show delay in message passing (but don't abuse of it).
However for a more complex interactions between systems, you should consider BPMN collaboration diagrams. They were designed specifically for this purpose. They have the advantage of facilitating the representation of how each system reacts to events in a flow of related tasks, including exceptional events such as time-outs and errors.
In both cases the communication is based on messages. Both allow asynchronous and synchronous communication (although synchronous requires more efforts in BPMN). But BPMN will allow the more precise and powerful event diagramming you're looking for.