ECID cookie is generated server-side using the request header information passed in the web beacon. In case the request header is getting changed, then the value of the tracking server would change and s_ecid wouldn’t be generated on a different domain.
Cause
If visitor migration is enabled then the web beacon may be getting routed from 1st party tracking server to 3rd party tracking server, which would be causing the issue with s_ecid generation.