Defended Ribbons are awarded for resetting caps, which does include your Standard Battle base cap. A player must have an amount of capture time stored up before a Defended Ribbon is issued for the reset of progress. I believe at least 5 seconds of time are needed to qualify, so rapid-firing guns or a constantly bombarded ship may yield no Ribbons if it has no time to accumulate Capture Time.
Also, Capture Time does not accrue if the base is being blocked/held by a friendly player. If Capture Time does not accrue, no Defended Ribbon is issued on hit as no time was reset.
Unless the OP is referencing a bug that I'm not aware of. In which case, a Replay would be needed for demonstration of the bug.