The main contributor to the agreed cipher is:
Key Algorithm
The type of key in your certificate can have an impact on your TLS cipher.
You will see many certificates with RSA keys. As such, the mutually agreed cipher suite can only include ciphers that work with RSA keys. For example, this site uses an RSA key and the cipher, as shown by OpenSSL is: ECDHE-RSA-AES128-GCM-SHA256 (note the RSA).
However, other sites don't use RSA keys and therefore the above cipher wouldn't be permitted/agreed. I've struggled to find an example, if I'm honest; but there must be one out there somewhere!
The following will have impact on setting up the TLS session. It won't affect the agreed cipher, but will result in a more binary success/fail.
Signature Algorithm
This won't restrict the choice of cipher, but the recent deprecation of SHA1 means clients, especially browsers, will reject a certificate (other than a self-signed) that is signed using SHA1.
Key Usage Extension
Certificates may (and most often do) contain an extension that limits the use of the keys. The list is defined in RFC 5280 section 4.1.2.3 and permits purposes at a high level, such as digitalSignature, keyEncipherment etc. If the certificate contained an incorrect value here clients should reject the certificate. For example, a CA certificate should only have keyCertSign and crlSign and therefore should not be usable to set up a TLS session (such as HTTPS).
Extended Key Usage Extension
This is similar to the previous extension, but is at a more granular level. This list is defined in RFC 5280 section 5.2.1.12. For example, two common EKUs are id-kp-serverAuth and id-kp-clientAuth. Both permit to use of the keys for authenticating the entity, but they do so in a different direction. A server certificate would be expected to have the former, while a client certificate (maybe in a TPM or smartcard etc.) would be expected to have the latter. Conforming software would be expected to reject certificates which don't have the correct EKU.