Usually signature algorithm, (that includes how the message is hashed) is assumed to be known by attacker when we make such analysis.
Generally, signature keys are long term keys used many times. If you can perform second pre-image attack on hash function you can forge another message with the given message signature pair without knowing anything about the key. Forgery by hash collision (which is possible for MD5 and SHA1) however require crafting both messages by the attacker. Now to your another question, does knowing the secret key allow one to forge message (I think you meant finding different message for identical signatures) which verifies using the same original key. This is something undoable for as far as I know (I am not sure about this part) except by second pre-image attack.
However, there are things called key substitution attacks. Under a key substitution attack, a given message-signature pair, originally signed by a legitimate signer can be also made to be a valid message-signature pair when verified with a different key but one controlled by the attacker. I think mathematical details will be off-topic here so I won't go there. Most key substitution attack can be made without knowing the private key. You can also do the same with different message but this does not require knowing private key.
Another type of attack would be the one in which after knowing the private key used to generate a signature for a known message, we can find another message and key pair in which the same signature will be verified as a valid signature of new attacker chosen message. Keeping mathematical details to minimum, it is possible to so in some algorithms like (EC)DSA by finding x' such that H(m)+xr = H(m')+x'r mod q, where m' is an attacker chosen message and x' will be new attacker controlled private key. x is leaked private key of the legitimate signer. The original signature (r,s) verified against this new message (m') will pass with new public key y'=g^x'