Based on Sitecore Documentation, your Core DB must be shared between CM and CD!
In the standard multiserver Sitecore environment, all the content management and content delivery instances share the Core and Web databases, and all the content management instances share the Master database. This means that you have to use the same connection strings to the databases for the configuration file of each server.
The following diagram illustrates the connections between the servers and the content databases in a standard multiserver Sitecore setup:
Events are delivered from one instance to another as records in EventQueue
data table. By default, Sitecore uses Core DB for storing these events, but that can be changed in config.
<eventing defaultProvider="sitecore">
<providers>
<clear/>
<add name="sitecore" type="Sitecore.Eventing.EventProvider, Sitecore.Kernel" systemDatabaseName="core"/>
</providers>
</eventing>
If shared OcreCore DB is not possible for any reason, set up SQL replication for Core database from CM to CD to synchronize events.
You can find more information regarding SQL replication in Sitecore documentation - SQL Server Replication Guide