From Segment’s documentation:
When you call identify on analytics.js, we’ll store contact information with the traits you provide. The userId is ignored since HubSpot does not use a userId. However, you must include an email trait as the userId or as traits.email.
Are you calling page or track to push the identify information into HubSpot? I would recommend reaching out to Segment support to make sure that the information is being correctly sent to HubSpot. If you can reach out with the request being made to HubSpot that’s failing to update, I’d be happy to continue investigating.