Ok, so the specular color is always the same as light color, metallic blend light color with base color for specular color.
HLSL code is like that so to understand better :
SpecularColor = lerp(Specular * LightColor, BaseColor.rgb, Metallic);