The RFC 2822(https://www.rfc-editor.org/rfc/rfc2822) mentions that "The uniqueness of the message identifier is guaranteed by the host that generates it".
My question is that can two SMTP messages have the same Message-Ids at any given point of time.
No, SMTP Message-Ids are not guaranteed to be globally unique.
All good software will generate Message-Ids in a way that makes it extremely likely that they will be globally unique. Bad software can do all sorts of stupid things. Most spam is generated by bad software. Some sending software will not generate any Message-Id, leaving it up to the receiving software to add a Message-Id. And of course the same message can be stored in multiple folders.
It depends on exactly when and how you're processing messages as to whether you can reasonably depend on the uniqueness of Message-Ids.