Да, он должен быть уникальным.
HTML4:
http://www.w3.org/TR/html4/struct/global.html
Раздел 7.5.2:
id = name [CS] Этот атрибут присваивает имя элементу. Это имя должно быть уникальным в документе.
blockquote>HTML5:
http://www.w3.org/TR/html5/dom.html# the-id-attribute
Атрибут id указывает уникальный идентификатор его элемента (ID). Значение должно быть уникальным среди всех идентификаторов в домашнем поддереве элемента и должно содержать как минимум один символ. Значение не должно содержать пробелов.
blockquote>