The documentation states you need to EXPIRE the user's password and then login as that user and get prompted to change it. Follow this if you can not currently login as sys with password.
See the walk though example an try that on sys.
NOTE: Step 2.b says "restart the database", I think they meant "restart the listener"!
This should give user 10g 11g 12c dba_users.password_versions.
...and then follow this if you want sys to be exclusively 12c:
to add to what Gaz stated:
SYS password can only be changed through password file starting from Oracle 12cR2
are you sure you connected from the client (sqlplus , sqldeveloper, TOAD,....etc) using SYS account to the database ? This fresh connection should update the password version with sqlnet.ora .ALLOWED_LOGON_VERSION=12
Because I was not finding any solutions that answered my question, I tested a direct update to dba_users in a test database. This was the only way I could find to explicitly update the password hash for SYS.
Having said that, it finally dawned on me what the documentation is trying to say; I wish the documentation would be a little more clear. Ultimately, the orapw file becomes the authoritative source of the SYS password. It doesn't matter if my SYS password is old or new. In fact, I can have a null password as seen from dba_users - doesn't matter because the real password is in the orapw file.