There isn't a formal specification for "events" in Solana at the protocol level, but typically they're structured logs emitted by programs.
In that sense, you can create a handler for notify_transaction
which reads through the logs in the provided transaction: https://github.com/solana-labs/solana/blob/056930483531424f2ef584be8aeaa1cee56b0db7/geyser-plugin-interface/src/geyser_plugin_interface.rs#L401
If you receive the logs from every single transaction processed by the network, you can filter out the transactions that contain the log or "event" that you care about.