If a material is assigned to meshes with different attributes it should be duplicated. If one of those meshes doesn't have texture coordinates the textures in the duplicated material should be removed.
The glTF spec backs this up by saying:
Mesh must have corresponding texture coordinate attributes for the material to be applicable to it.
If a material is assigned to meshes with different attributes it should be duplicated. If one of those meshes doesn't have texture coordinates the textures in the duplicated material should be removed.
The glTF spec backs this up by saying:
https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textureinfotexcoord
Example obj snippet: