TL;DR answer, no.
Longer answer - a milestone does not have a duration. PMBOK defines milestones as
"Milestones are similar to regular schedule activities, with the same structure and attributes, but they have zero duration because milestones represent a moment in time."
They key point of a milestone is its binary - either you have reached the key point in your project, or you haven't. So using your example above, you'd have something like
-- Specifications Summary -- Start 01 Jan, End 20 Jan
-- Specification tasks - starting and finishing between 01 and 20 Jan
-- Milestone: Specifications complete - 20 Jan
-- Implementation Summary -- Start 10 Jan, End 30 Jan
-- Implementation tasks - starting and finishing between 10 and 30 Jan
-- Milestone: Implementation complete - 30 Jan
Its a clear way of tracking and showing that your specifications are complete, as distinct from being 99% complete, I'm almost there.
Edit - there is nothing stopping multiple milestones being on the same day.