I came across Volterra integral equations in a completely different context: branching theory applied to macroevolution. Wikipedia mentions renewal theory, which is close. In my application, the equation could be solved iteratively. I think this notation

$Q(\omega) \ast F(\omega)$

is confusing and will use

$(Q \ast F)(\omega)$.

The idea is to write

$F(\omega) = (\omega^2 + a)^{-1} [ H(\omega) - (Q \ast F)(\omega) ],$

take a guess at $F(\omega)$, say $F_0(\omega)=0$, and iterate like

$F_{i+1}(\omega) = (\omega^2 + a)^{-1} [ H(\omega) - (Q \ast F_i)(\omega) ] .$

Numerically, the $F_i$s are evaluated at a finite number of evenly spaced $\omega$ values. In my case this procedure was guaranteed to converge.