Summary
The GET Product Specification response JSON lacks an essential property to update preexisting specifications if so needed by the user.
Simulation
- Use a GET product specification such as the one we currently have documented in our devdocs: https://merch.vtexcommercestable.com.br/api/catalog/pvt/product/17/specification?an=merch
In this example, we have the following response:

Notice that I can get the "Value", "Id" and "name" with this req. This is currently the only way to get this kind of data via REST API.
- I've used the following request to update this (after getting which is the fielded and fieldvalueid by consulting the category APIs): https://merch.vtexcommercestable.com.br/api/catalog/pvt/product/17/specification?an=merch

Notice that an unique ID is returned in the response, this is the association ID of the specification with the product.
However, for an user to update any preexisting value, it will be needed to inform this ID and it's only returned in the response of the first insertion and nowhere else (via API).
This issue is the opening of the acknowledgement of this problem and tracking of a future possible adjustment, even if it's not a product bug per see but a faulty/incomplete usability.
Workaround
Use the catalog specification export (https://merch.myvtex.com/admin/Site/ProdutoExportacaoImportacaoEspecificacaoV2.aspx) to get the desired ID association ID:

OR
Use a delete specification for the old specification and send a new one, in which the response will come with a new ID to be saved.